iT邦幫忙

2023 iThome 鐵人賽

DAY 1
0

Hashing 是將任意大小的輸入數據映射到固定大小輸出值的函數。Hashing 通常用於數據加密、數據存儲和數據檢索等領域。它們接受輸入數據,然後通過特定的算法將其轉換成固定長度的 Hashing 或摘要。Hashing通常用來表示輸入數據,因此不同的輸入數據通常會產生不同的Hashing ,但相同的輸入數據始終會產生相同的 Hashing。這使得 Hashing在數據完整性驗證、密碼學、散列表和其他應用中非常有用。

Hashing 有幾個特點

  • Not able to reverse : 單一值 / 從資料庫 access 取得, 不可逆向追蹤
  • input value 小改變 / output value 大改變
  • Deterministic : same input 產出 same output
  • 不太可以能 找出 2 output 來自同一 input
  • Slow functions - Not easily be brutalized
  • salt 也會被儲存和 identify 以便 map user password

Salt

  • 在 hash 之前增加一個隨機值 (有一些 hashing method 有, 例如 Bcrypt)
  • 因為 Hashing 還是有可能會被逆向取得 (用 common password list), 所以用此方法來多一層保護
  • 相同 password 在 相同 / 不同 DB 都會有不同的 hash output

下一篇
介紹 : 關聯式資料庫與 NoSQL: Mongoose
系列文
網頁開發 : 前 / 後端 Web application : Front-end and Back-end 3
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言